home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-04
/
422mods.zip
/
WCF_SCR.422
< prev
next >
Wrap
Text File
|
1993-03-15
|
11KB
|
295 lines
WFC_SCRN.MOD - From ICENEWS - Feb 1993
4Odin #1 @76640 2─═7[4SysOp7]2═─
2Wednesday 03/10/93 710:07p
┌──────────────────────────────────────────────────────────────────────┐
│Name: WFCSCRN.MOD │
│Author: Odin #1@7664 (IceNET) - C stuff (My first 4.22 mod!) │
│ Jim #1@1 (IceNET) - Ansi │
│Version: 4.22 │
│Files Affected: BBS.C - hey nice huh? │
│Difficulty: ▓░░░░░░ - A monkey can do this one! │
│Description: Are you tired of the blinking cursor at the top of your │
│ WFC (waiting for call) screen. Well here is a nice │
│ record of your BBS while your board is inactive. │
└──────────────────────────────────────────────────────────────────────┘
This mod has an on-screen clock using the computer clock. It shows the
time in standard form (i.e. 3:30am). This mod also has a built in screen saver.
The status box will move around the screen. It will return to its "home" 1/3
of the time. I like it though, so think before killing. Any colors not
desired may be fixed by using code similar to the one marked /*SELECT COLOR*/
If you wish more colors to be excuded, duplicate the line and change the
numbers.
STEP 1: BACK UP YOUR SOURCES
------
STEP 2: Load in BBS.C and locate "void getcaller"
------
Before this line, block copy the following void into BBS.C:
void wfc_window(int NoScreen)
{
int am, i, wx, wy, width, len, tmp, clr1, clr2, Imove;
char otstr[30], d_o_w[3], day;
double d;
long hr, min,l, totspace;
float ftmp;
if(!NoScreen) {
run_external1_x("ICE");
d=timer();
ftmp=d/3600.0;
hr=(int) ftmp;
ftmp=60.0*(ftmp-(float) hr);
min=(int) ftmp;
am=1;
Imove=rand() % 3; /*MOVE*/
if(hr>11){
am=0;
hr=hr-12;
}
if(hr==0)
hr=12;
wx=12;
wy=6;
if(Imove<2) { /*MOVE*/
wx=rand() % 24; /*MOVE*/
wy=rand() % 11; /*MOVE*/
} /*MOVE*/
width=55;
len=9;
randomize();
clr1=rand() % 10;
clr2=rand() % 10;
if(clr1==6) clr1=1; /*Changes red to blue */ /*SELECT COLOR*/
if(clr2==6) clr2=1;
ansic(clr1);
makewindow(wx,wy+2,width,len);
ansic(clr2);
makewindow(wx,wy,width,3);
tmp=(width-strlen(syscfg.systemname))/2;
movecsr(wx+tmp,wy+1);
sprintf(otstr,"%s",syscfg.systemname); outs(otstr);
movecsr(wx+width-8,wy+1);
sprintf(otstr,"%2ld:%-2.2ld",hr,min); outs(otstr);
movecsr(wx+width-3,wy+1);
if(am) {
sprintf(otstr,"am");
}
else sprintf(otstr,"pm");
outs(otstr);
day=dow();
if(day==0) sprintf(d_o_w,"Sun");
if(day==1) sprintf(d_o_w,"Mon");
if(day==2) sprintf(d_o_w,"Tue");
if(day==3) sprintf(d_o_w,"Wed");
if(day==4) sprintf(d_o_w,"Thu");
if(day==5) sprintf(d_o_w,"Fri");
if(day==6) sprintf(d_o_w,"Sat");
movecsr(wx+1,wy+1);
sprintf(otstr,"%s %s",d_o_w,status.date1); outs(otstr);
ansic(clr1);
movecsr(wx+1,wy+3);
sprintf(otstr,"Calls today : %4u",status.callstoday);
outs(otstr);
movecsr(wx+1,wy+4);
sprintf(otstr,"Actvity : %5.2f%%"
,((float) status.activetoday)/14.4);
outs(otstr);
movecsr(wx+1,wy+5);
sprintf(otstr,"Mail Waiting: %4u",fwaiting); outs(otstr);
movecsr(wx+1,wy+6);
sprintf(otstr,"Uploads : %4u",status.uptoday);
outs(otstr);
movecsr(wx+1,wy+7);
sprintf(otstr,"Posts Today : %4u",status.msgposttoday);
outs(otstr);
movecsr(wx+1,wy+8);
sprintf(otstr,"Total Users : %4u",status.users);
outs(otstr);
movecsr(wx+1,wy+9);
sprintf(otstr,"Total Calls : %5ld",status.callernum1);
outs(otstr);
movecsr(wx+30,wy+4);
sprintf(otstr,"Minutes : %4u",status.activetoday);
outs(otstr);
movecsr(wx+30,wy+5);
sprintf(otstr,"Max Users : %4u",syscfg.maxusers);
outs(otstr);
movecsr(wx+30,wy+6);
sprintf(otstr,"Com Port : %2u",syscfg.primaryport);
outs(otstr);
movecsr(wx+30,wy+7);
sprintf(otstr,"NETxx Ver : %4u",status.net_version);
outs(otstr);
movecsr(wx+30,wy+8);
sprintf(otstr,"WWIV Ver : %4u",status.wwiv_version);
outs(otstr);
movecsr(wx+30,wy+9);
sprintf(otstr,"WWIV Reg. # : %5ld",syscfg.wwiv_reg_number);
outs(otstr);
movecsr(wx+30,wy+3);
i=3;
l=(long) freek(3); totspace=l;
while ((l>0) && ((i+'@')<=cdir[0])) {
i++;
if ((i+'@')<=cdir[0]) {
l=(long) freek(i);
totspace+=l;
}
}
sprintf(otstr,"HD Space : %8ldk",totspace);
outs(otstr);
ansic(0);
movecsr(0,22);
}
}
STEP 3: All the following changes/additions occur in void getcaller
------
┌──────────────────────┐
│ Legend │
│! - this line changed │
│+ - add this line │
│= - this there before │
└──────────────────────┘
-In the declaration section, make the following changes:
! int i,i1,i2,i3,any,wfc_on, NoScreen;
! double d,d1,tstamp,tmp;
-Search for "srand((unsigned int)d);". Then change accordingly.
= srand((unsigned int)d);
+ wfc_window(NoScreen);
+ tstamp=timer(); wfc_on=1;
= do {
-Search for "attempt_callout();". Then change accordingly.
= if ((!any) && ((rand() % 8000)==0) && (net_sysnum) &&
= (ok_modem_stuff)) {
= attempt_callout();
+ wfc_on=0;
= any=1;
-In the switch section, add these lines
+ case '=':
+ if (NoScreen) NoScreen=0;
+ else NoScreen=1;
+ break;
-Search for "if ((comhit())". Change accordingly.
= }
= okskey=0;
+ wfc_on=0;
= }
= if ((comhit()) && (ok_modem_stuff) && (!lokb)) {
any=1;
-Search for "giveup". Change accordingly.
= giveup_timeslice();
= }
+ tmp=timer()-tstamp;
+ if((!wfc_on) || (60<=tmp) || (0>tmp)) {
+ tstamp=timer();
+ wfc_on=1;
+ wfc_window(NoScreen); }
= } while ((!incom) && (!lokb) && (!endday));
STEP 4: Re-compile using TCC or BCC.
------
STEP 5: Place ICE.COM into your main BBS directory. A copy is at the end
------ of this mod.
STEP 6: Copy BBS.EXE, RETURN.EXE, and INIT.EXE into your main BBS directory.
------
That's it.
DISCLAIMER: Well, if your hard drive crashes, your BBS decides to nuke all
---------- the accounts, your sister runs away with the milkman, or you
just screwed up, DON'T BLAME ME. This method worked great for
me.
The following is ICE.COM uuencoded. Use UUDECODE to return it to its original
state and place it into your main BBS directory.
section 1 of uuencode 5.13 of file ice.com by R.E.M.
begin 644 ice.com
M_+T@`8MN`(NF`@"+G@0`M$K-(:$L`(F&&@"+G@``_^,P`8H41@K2=`:T`LTA
MZ_/#P`D6#`(!&`P9#1H.&P^?Z%)0Z)'H4!ZX1-=0N``"```;6S0P;1M;,DH;
M6S([,4@;6S,[,4@;6S0[,4@;6S4[,4@;6S8[,4@;6S<[,4@;6SE#&ULP.S%M
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;$;6S@[,4@;6SE#L;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;$;
M6S,V;;&Q&ULY.S%(&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;$;6W,*#0`;6W6QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$P.S%(&ULY0QM;,S=ML;&QL;$;
M6S`[,S5ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$Q.S%(&ULY0QM;
M,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL1M;,3LS-VVQL1M;,S9ML;$;6S$R
M.S%(&UMS"@T`&UMU&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL1M;
M,3LS-VVQL1M;,S9ML;$;6S$S.S%(&ULY0QM;,S=ML;&QL;$;6S`[,S5ML;&Q
ML1M;,3LS-VW?W]_?W]\;6S`[,S5ML;&Q&ULQ.S,W;=_?W]_?&ULP.S,U;;&Q
M&ULQ.S,W;=_?W]_?W]\;6S`[,S5ML1M;,3LS-VW?W]\;6S`[,S5ML;&Q&ULQ
M.S,W;=_?&ULP.S,U;;$;6S$[,S=MW]_?W]_?WQM;,#LS-6VQ&UMS"@T`&UMU
M&ULQ.S,W;=_?W]_?W]_?&ULP.S,U;;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,30[
M,4@;6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL1M;,3LS-VW?WQM;,#LS-6VQ
ML;&Q&ULQ.S,W;=_?&ULP.S,U;;&QL1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W
M;=_?&ULP.S,U;;&QL;&QL1M;,3LS-VW?W]_?&ULP.S,U;;&Q&ULQ.S,W;=_?
M&ULP.S,U;;$;6S$[,S=MW]\;6S`[,S5ML;&QL;&QL;&Q&ULQ.S,W;=_?&ULP
M.S,U;;&QL;&QL1M;,3LS-VVQL1M;,S9M&UMS"@T`&UMUL;$;6S$U.S%(&ULY
M0QM;,S=ML;&QL;$;6S`[,S5ML;&QL1M;,3LS-VW?WQM;,#LS-6VQL;$;6S$[
M,S=MW]_?&ULP.S,U;;&QL;&QL1M;,3LS-VW?W]_?WQM;,#LS-6VQL;$;6S$[
M,S=MW]\;6S`[,S5ML1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U
M;;$;6S$[,S=MW]_?W]\;6S`[,S5ML;&QL;&Q&ULQ.S,W;=_?&ULP.S,U;;&Q
ML;&QL;$;6S$[,S=ML;$;6S,V;;&Q&ULQ-CLQ2!M;.4,;6S,W;;&QL;&Q&ULP
M.S,U;;&QL1M;<PH-`!M;=1M;,3LS-VW?WQM;,#LS-6VQL;&Q&ULQ.S,W;=_?
M&ULP.S,U;;&QL1M;,3LS-VW?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U;;&Q
ML;&QL1M;,3LS-VW?WQM;,#LS-6VQL1M;,3LS-VW?W]_?&ULP.S,U;;$;6S$[
M,S=MW]\;6S`[,S5ML;&QL;&QL;&Q&ULQ.S,W;=_?&ULP.S,U;;&QL;&QL;&Q
M&ULQ.S,W;;&Q&ULS-FVQL1M;,3<[,4@;6SE#&ULS-VVQL;&QL=_?W]_?WQM;
M,#LS-6VQL;$;6S$[,S=MW]_?W]\;6S`[,S5ML;$;6S$[,S=MW]_?WQM;<PH-
M`!M;==_?WQM;,#LS-6VQ&ULQ.S,W;=_?&ULP.S,U;;&QL1M;,3LS-VW?W]\;
M6S`[,S5ML1M;,3LS-VW?W]_?W]_?&ULP.S,U;;&QL;$;6S$[,S=MW]\;6S`[
M,S5ML;&QL;&QL;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,3@[,4@;6SE#&ULS-VVQ
ML;&QL1M;,#LS-6VQL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,3D[,4@;
M6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL;&QL1M;<PH-`!M;=;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q&ULQ.S,W
M;;&Q&ULS-FVQL1M;,C`[,4@;6SE#&ULS-VVQL;&QL1M;,#LS-6VQL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&Q&ULQ.S,W;;&Q&ULS-FVQL1M;,C$[,4@;6SE#&ULS-VVQL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL1M;,S9ML;$*#0`;6S(R.S%(&ULQ,4.QL;&QL;&QL;&QL;&QL;&Q
ML;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&QL;&Q
ML1M;,C,[,4@;6S(T.S%(&ULR-3LQ2!M;,&T;6S(U-40*#0"-MB``N"(!_]"-
MMB(!N"(!_]"-MB("N"(!_]"-MB0#N"(!_]"-MB8$N"(!_]"-MB,%N"(!_]"-
?MB4&N"(!_]"-MB<'N"(!_]"-MB0(N"(!_]"X`$S-(4S-
`
end
sum -r/size 21868/3232 section (from "begin" to "end")
sum -r/size 28227/2326 entire input file
A special thanks to Jim #1@1 (IceNET) for the ANSI background and for the
continual ideas and support. What started as a little mod for me turned
into a very nice functional mod that none of your users will appreciate, but
I think you will. If you have any questions, feel free to write me and I
will get back to you. It has been fun.....
Odin #1 IceNET@7664